Tworzy kwerendΩ usuwaj╣c╣, kt≤ra usuwa rekordy z jednej lub wielu tabeli wymienionych w klauzuli FROM spe│niaj╣ce warunki klauzuli WHERE.
DELETE [tabela.*]
FROM tabela
WHERE kryteria
Sk│adnia instrukcji DELETE zawiera nastΩpuj╣ce elementy:
Element | Opis |
---|---|
tabela | Nieobowi╣zkowa nazwa tabeli, z kt≤rej usuwane s╣ rekordy. |
tabela | Nazwa tabeli, z kt≤rej usuwane s╣ rekordy. |
kryteria | Wyra┐enie okre£laj╣ce rekordy do usuniΩcia. |
Instrukcja DELETE jest szczeg≤lnie przydatna przy usuwaniu wielu rekord≤w.
Aby usun╣µ ca│╣ tabelΩ z bazy danych, mo┐na u┐yµ metody Execute z instrukcj╣ DROP. Wtedy jednak zniszczeniu ulega struktura tabeli. W przeciwie±stwie do tego, u┐ycie instrukcji DELETE powoduje jedynie usuniΩcie danych; struktura tabeli i wszystkie jej w│a£ciwo£ci, takie jak atrybuty p≤l i indeksy, pozostaj╣ nienaruszone.
Instrukcja DELETE mo┐e byµ u┐yta do usuniΩcia rekord≤w z tabel w relacji jeden-do-wielu z innymi tabelami. Operacje usuwania kaskadowego powoduj╣, ┐e rekordy w tabelach odpowiadaj╣cych stronie "wielu" relacji zostan╣ usuniΩte, gdy w wyniku kwerendy zostanie usuniΩty odpowiadaj╣cy im rekord po stronie "jeden" tej relacji. Na przyk│ad w relacji miΩdzy tabelami Klienci i Zam≤wienia, tabela Klienci znajduje siΩ po stronie "jeden", za£ Zam≤wienia po stronie "wielu" relacji. UsuniΩcie rekordu z tabeli Klienci powoduje usuniΩcie odpowiednich rekord≤w z tabeli Zam≤wienia, je£li w│╣czono opcjΩ usuwania kaskadowego.
Kwerenda DELETE usuwa ca│e rekordy, a nie tylko dane z okre£lonych p≤l. Je£li chcemy usun╣µ warto£ci z okre£lonych p≤l, nale┐y utworzyµ kwerendΩ aktualizuj╣c╣, kt≤ra zmienia warto£ci p≤l na Null.
Wa┐ne